<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSP-J 复习速过大纲</title>
    <!-- 引入Coze Chat SDK -->
    <script src="https://lf-cdn.coze.cn/obj/unpkg/flow-platform/chat-app-sdk/1.1.0-beta.0/libs/cn/index.js"></script>
      <script>
          new CozeWebSDK.WebChatClient({
            config: {
              bot_id: '7462308376433901619',
            },
            componentProps: {
              title: 'Coze',
            },
          });
      </script>
    <!-- 引入CSS文件 -->
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <header>
        <h1>CSP-J 复习速过大纲</h1>
        <p>CSP-J 编程竞赛必备知识</p>
    </header>

    <!-- 目录 -->
    <nav class="toc">
        <h2>目录</h2>
        <ul>
            <li><a href="#basics">基础知识与编程环境</a></li>
            <li><a href="#cpp-programming">C++ 程序设计</a></li>
            <li><a href="#data-structures">数据结构</a></li>
            <li><a href="#algorithms">算法</a></li>
            <li><a href="#math">数学与其他</a></li>
        </ul>
    </nav>

    <main>
        <!-- 基础知识与编程环境 -->
        <section id="basics" class="algorithm-category">
            <h2>基础知识与编程环境</h2>
            <div class="algorithm-card">
                <h3>计算机的基本构成</h3>
                <p>计算机由<a href="https://baike.baidu.com/item/CPU" target="_blank">CPU</a>、<a href="https://baike.baidu.com/item/内存" target="_blank">内存</a>、<a href="https://baike.baidu.com/item/输入输出设备" target="_blank">I/O设备</a>等组成。CPU负责执行指令，内存用于存储数据和指令，I/O设备用于与外部世界交互。</p>
            </div>
            <div class="algorithm-card">
                <h3>操作系统基本概念</h3>
                <p>操作系统是管理计算机硬件与软件资源的系统软件。常见的操作系统有<a href="https://baike.baidu.com/item/Windows" target="_blank">Windows</a>和<a href="https://baike.baidu.com/item/Linux" target="_blank">Linux</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>计算机网络和Internet</h3>
                <p>计算机网络是将多台计算机连接起来，实现资源共享和信息传递。<a href="https://baike.baidu.com/item/Internet" target="_blank">Internet</a>是全球最大的计算机网络。</p>
            </div>
            <div class="algorithm-card">
                <h3>NOI及相关活动</h3>
                <p><a href="https://baike.baidu.com/item/NOI" target="_blank">NOI</a>（全国青少年信息学奥林匹克竞赛）是中国最具影响力的信息学竞赛之一。</p>
            </div>
            <div class="algorithm-card">
                <h3>程序设计语言</h3>
                <p>程序设计语言是用于编写计算机程序的语言，如<a href="https://baike.baidu.com/item/C%2B%2B" target="_blank">C++</a>。程序需要通过编译或解释才能运行。</p>
            </div>
        </section>

        <!-- C++ 程序设计 -->
        <section id="cpp-programming" class="algorithm-category">
            <h2>C++ 程序设计</h2>
            <div class="algorithm-card">
                <h3>程序基本概念</h3>
                <p>程序由<a href="https://baike.baidu.com/item/标识符" target="_blank">标识符</a>、<a href="https://baike.baidu.com/item/关键字" target="_blank">关键字</a>、<a href="https://baike.baidu.com/item/常量" target="_blank">常量</a>、<a href="https://baike.baidu.com/item/变量" target="_blank">变量</a>、<a href="https://baike.baidu.com/item/字符串" target="_blank">字符串</a>和<a href="https://baike.baidu.com/item/表达式" target="_blank">表达式</a>组成。</p>
            </div>
            <div class="algorithm-card">
                <h3>基本数据类型</h3>
                <p>C++中的基本数据类型包括<a href="https://baike.baidu.com/item/int" target="_blank">int</a>、<a href="https://baike.baidu.com/item/long%20long" target="_blank">long long</a>、<a href="https://baike.baidu.com/item/float" target="_blank">float</a>、<a href="https://baike.baidu.com/item/double" target="_blank">double</a>、<a href="https://baike.baidu.com/item/char" target="_blank">char</a>和<a href="https://baike.baidu.com/item/bool" target="_blank">bool</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>程序基本语句</h3>
                <p>常见的语句包括<a href="https://baike.baidu.com/item/cin" target="_blank">cin</a>、<a href="https://baike.baidu.com/item/cout" target="_blank">cout</a>、<a href="https://baike.baidu.com/item/if语句" target="_blank">if</a>、<a href="https://baike.baidu.com/item/switch语句" target="_blank">switch</a>、<a href="https://baike.baidu.com/item/for循环" target="_blank">for</a>和<a href="https://baike.baidu.com/item/while循环" target="_blank">while</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>基本运算</h3>
                <p>包括<a href="https://baike.baidu.com/item/算术运算" target="_blank">算术运算</a>、<a href="https://baike.baidu.com/item/关系运算" target="_blank">关系运算</a>、<a href="https://baike.baidu.com/item/逻辑运算" target="_blank">逻辑运算</a>和<a href="https://baike.baidu.com/item/位运算" target="_blank">位运算</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>数学库常用函数</h3>
                <p>C++的<a href="https://baike.baidu.com/item/cmath" target="_blank">cmath</a>库提供了许多数学函数，如绝对值、平方根、三角函数等。</p>
            </div>
            <div class="algorithm-card">
                <h3>结构化程序设计</h3>
                <p>结构化程序设计包括<a href="https://baike.baidu.com/item/顺序结构" target="_blank">顺序结构</a>、<a href="https://baike.baidu.com/item/分支结构" target="_blank">分支结构</a>和<a href="https://baike.baidu.com/item/循环结构" target="_blank">循环结构</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>数组与字符串</h3>
                <p>数组是相同类型元素的集合，字符串是字符的序列。<a href="https://baike.baidu.com/item/string" target="_blank">string</a>类是C++中常用的字符串处理工具。</p>
            </div>
            <div class="algorithm-card">
                <h3>函数与递归</h3>
                <p>函数是完成特定任务的代码块，<a href="https://baike.baidu.com/item/递归" target="_blank">递归</a>是函数调用自身的过程。</p>
            </div>
            <div class="algorithm-card">
                <h3>结构体与联合体</h3>
                <p><a href="https://baike.baidu.com/item/结构体" target="_blank">结构体</a>和<a href="https://baike.baidu.com/item/联合体" target="_blank">联合体</a>是用户定义的数据类型，用于组织不同类型的数据。</p>
            </div>
            <div class="algorithm-card">
                <h3>指针类型</h3>
                <p><a href="https://baike.baidu.com/item/指针" target="_blank">指针</a>是存储变量地址的变量，可以用于动态内存分配和数组访问。</p>
            </div>
            <div class="algorithm-card">
                <h3>文件及基本读写</h3>
                <p>文件是存储在外部设备上的数据集合，C++提供了文件读写操作。</p>
            </div>
            <div class="algorithm-card">
                <h3>STL模板</h3>
                <p><a href="https://baike.baidu.com/item/STL" target="_blank">STL</a>（标准模板库）提供了许多常用的数据结构和算法，如vector、stack、queue等。</p>
            </div>
        </section>

        <!-- 数据结构 -->
        <section id="data-structures" class="algorithm-category">
            <h2>数据结构</h2>
            <div class="algorithm-card">
                <h3>线性结构</h3>
                <p>线性结构包括<a href="https://baike.baidu.com/item/链表" target="_blank">链表</a>、<a href="https://baike.baidu.com/item/栈" target="_blank">栈</a>和<a href="https://baike.baidu.com/item/队列" target="_blank">队列</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>简单树</h3>
                <p>树是一种分层数据结构，<a href="https://baike.baidu.com/item/二叉树" target="_blank">二叉树</a>是每个节点最多有两个子节点的树。</p>
            </div>
            <div class="algorithm-card">
                <h3>特殊树</h3>
                <p>特殊树包括<a href="https://baike.baidu.com/item/完全二叉树" target="_blank">完全二叉树</a>、<a href="https://baike.baidu.com/item/哈夫曼树" target="_blank">哈夫曼树</a>和<a href="https://baike.baidu.com/item/二叉搜索树" target="_blank">二叉搜索树</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>简单图</h3>
                <p>图是由节点和边组成的结构，常见的表示方法有<a href="https://baike.baidu.com/item/邻接矩阵" target="_blank">邻接矩阵</a>和<a href="https://baike.baidu.com/item/邻接表" target="_blank">邻接表</a>。</p>
            </div>
        </section>

        <!-- 算法 -->
        <section id="algorithms" class="algorithm-category">
            <h2>算法</h2>
            <div class="algorithm-card">
                <h3>算法概念与描述</h3>
                <p>算法是解决问题的步骤，可以用<a href="https://baike.baidu.com/item/自然语言" target="_blank">自然语言</a>、<a href="https://baike.baidu.com/item/流程图" target="_blank">流程图</a>或<a href="https://baike.baidu.com/item/伪代码" target="_blank">伪代码</a>描述。</p>
            </div>
            <div class="algorithm-card">
                <h3>入门算法</h3>
                <p>入门算法包括<a href="https://baike.baidu.com/item/枚举法" target="_blank">枚举法</a>和<a href="https://baike.baidu.com/item/模拟法" target="_blank">模拟法</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>基础算法</h3>
                <p>基础算法包括<a href="https://baike.baidu.com/item/贪心算法" target="_blank">贪心法</a>、<a href="https://baike.baidu.com/item/递推" target="_blank">递推法</a>、<a href="https://baike.baidu.com/item/递归" target="_blank">递归法</a>、<a href="https://baike.baidu.com/item/二分法" target="_blank">二分法</a>和<a href="https://baike.baidu.com/item/倍增法" target="_blank">倍增法</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>数值处理算法</h3>
                <p>数值处理算法包括高精度加法、减法、乘法和除法。</p>
            </div>
            <div class="algorithm-card">
                <h3>排序算法</h3>
                <p>排序算法包括<a href="https://baike.baidu.com/item/冒泡排序" target="_blank">冒泡排序</a>、<a href="https://baike.baidu.com/item/选择排序" target="_blank">选择排序</a>、<a href="https://baike.baidu.com/item/插入排序" target="_blank">插入排序</a>和<a href="https://baike.baidu.com/item/计数排序" target="_blank">计数排序</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>搜索算法</h3>
                <p>搜索算法包括<a href="https://baike.baidu.com/item/深度优先搜索" target="_blank">深度优先搜索</a>和<a href="https://baike.baidu.com/item/广度优先搜索" target="_blank">广度优先搜索</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>图论算法</h3>
                <p>图论算法包括<a href="https://baike.baidu.com/item/深度优先遍历" target="_blank">深度优先遍历</a>、<a href="https://baike.baidu.com/item/广度优先遍历" target="_blank">广度优先遍历</a>和<a href="https://baike.baidu.com/item/泛洪算法" target="_blank">泛洪算法</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>动态规划</h3>
                <p>动态规划是一种分阶段解决问题的方法，常用于背包问题和区间问题。</p>
            </div>
        </section>

        <!-- 数学与其他 -->
        <section id="math" class="algorithm-category">
            <h2>数学与其他</h2>
            <div class="algorithm-card">
                <h3>数及其运算</h3>
                <p>数包括<a href="https://baike.baidu.com/item/自然数" target="_blank">自然数</a>、<a href="https://baike.baidu.com/item/整数" target="_blank">整数</a>、<a href="https://baike.baidu.com/item/有理数" target="_blank">有理数</a>和<a href="https://baike.baidu.com/item/实数" target="_blank">实数</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>初等数学</h3>
                <p>初等数学包括<a href="https://baike.baidu.com/item/代数" target="_blank">代数</a>和<a href="https://baike.baidu.com/item/几何" target="_blank">几何</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>初等数论</h3>
                <p>初等数论研究<a href="https://baike.baidu.com/item/整除" target="_blank">整除</a>、<a href="https://baike.baidu.com/item/质数" target="_blank">质数</a>、<a href="https://baike.baidu.com/item/模运算" target="_blank">模运算</a>等。</p>
            </div>
            <div class="algorithm-card">
                <h3>离散与组合数学</h3>
                <p>离散数学包括<a href="https://baike.baidu.com/item/集合" target="_blank">集合</a>、<a href="https://baike.baidu.com/item/排列" target="_blank">排列</a>和<a href="https://baike.baidu.com/item/组合" target="_blank">组合</a>。</p>
            </div>
            <div class="algorithm-card">
                <h3>其他</h3>
                <p>其他内容包括<a href="https://baike.baidu.com/item/ASCII码" target="_blank">ASCII码</a>和<a href="https://baike.baidu.com/item/格雷码" target="_blank">格雷码</a>。</p>
            </div>
        </section>
    </main>

    <!-- Coze Chat SDK 容器 -->
    <div id="coze-chat-container"></div>

    <script>
        // 初始化Coze Chat SDK
        new CozeWebSDK.WebChatClient({
            config: {
                bot_id: '7462308376433901619', // 替换为你的Bot ID
            },
            componentProps: {
                title: 'Coze', // 聊天窗口标题
            },
            container: document.getElementById('coze-chat-container'), // 指定容器
        });
    </script>
</body>
</html>